Conventional telephone switching apparatuses are embedded systems. That is, the function of the switching apparatus is implemented by executing dedicated telephone switching software on dedicated hardware. On the other hand, there is a trend of providing the switching apparatus as a general purpose system. An apparatus of this kind implements the switching apparatus function by executing telephone switching software on a general purpose computer on which a general purpose operating system is running. Under the circumstance, needs for sharing the telephone switching software by the embedded system and general purpose system are increasing.
In embedded systems, data necessary for the operation are stored by allocating physical addresses in a nonvolatile memory (a flash memory or a memory backed up by a power supply). By contrast, in general purpose systems, data are stored by allocating logical addresses in a volatile memory or in virtual address spaces using swap area of a hard disk. That is, data must be allocated to logical addresses managed by the general purpose OS in order to port the embedded software to the general purpose system.
A case like this is generally handled by using a memory mapped file. In the general purpose system, however, a logical address into which the memory mapped file is to be loaded is uncertain. Accordingly, the general purpose system cannot function if data that refers to an absolute address is defined in the embedded software of the porting source. In the general purpose system, therefore, the absolute address is rewritten into a relative address when the system is started up, i.e., booted.
In a switching apparatus, however, various kinds of resources such as extension lines and trunk circuits exist. This makes the number of types of data enormous as well as the data amount itself. Therefore, it takes a long time to execute the procedure of rewriting a logical address allocated to each data by the general purpose OS into a base address. Since this procedure is performed when the program is started up, the start up of the system is time consuming. Also, if the size of given data increases, the addresses of all data after this data change in the address space. This further prolongs the start up time.
As described above, the needs for porting software of the embedded system to the general purpose system exist in this technical field. However, address conversion takes a long time and this prolongs the start up time of the system, so demands have arisen for some measures.